\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \paragraph*{Colo(u)r The |color| extension is supported by the auxiliary ??c![xyps-c.doc] file: \DOCMODE( \xywithoption{color{% \xyinputorelse{xyps-c{\xyerror{Could not load xyps-c{% \xycatcodes \DOCMODE) \DOCMODE1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \item[|xyps-c.tex|:] \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \inputdoc!{xyps-c.doc \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \paragraph*{Rotation Rotation is defined in the auxiliary ??c![xyps-r.doc] file: \DOCMODE( \xywithoption{rotate{% \xyinputorelse{xyps-r{\xyerror{Could not load xyps-r{% \xycatcodes \DOCMODE) \DOCMODE1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \item[|xyps-r.tex|:] \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \inputdoc!{xyps-r.doc \DOCMODE1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{description \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{\PS\ Dictionary \DOCMODE( \message{dictionary, \xywarnifdefined\xyPSobeylines \xywarnifdefined\xyPSendline@ {\catcode‘\^^M=\active \gdef\XYdict@{{\xyPSobeylines@% \count\=xydashl@\relax% \count@=\xydashw@\relax% \let\PSfirst@=\relax% \PSspecial{% /XYdict where not{200 dict /XYdict exch def /xy{XYdict begin countdictstack /xylevel exch def xyopen xycolor stopped xyclose cleartomark end}def /xyc{{xysetcolxydef /xycc{{xychgcolxydef XYdictif begin /xyopen{currentdict /XYddict known{XYddict null eq{% {XYddict begin xyopenifelseifdef /xyclose{countdictstack -1 xylevel 1 add{pop endfordef /xycolor{0 setgraybind def \PSdict{% /xyopen{currentdict /XYddict known{XYddict null eq{% {XYddict begin xyopenifelseifdef /xycolor{0 setgraybind def \PSdict{% /xyclose{countdictstack -1 xylevel 1 add{pop endfordef /xypush{8 dict /XYddict exch def XYddict begindef /undef where {pop /xypop{countdictstack xylevel eq{{endifelse currentdict /XYddict undefdef% {/xypop{countdictstack xylevel eq{{endifelse /XYddict null defdefifelse \PSdict{% /xychgcol{/xycolor exch defdef % /xychgcol{cvn dup where{pop cvx /xycolor exch def% % {cvs = ( unknown)= flushifelsedef /xysetcol{xypush xychgcoldef \PSdict{% /xysize 10 def /xypspt{72 72.27 div dup scalebind def /dimendiv{65536 divbind def /xysegl \number\count@\space dimendiv def /xyopp{1 -1 scalebind def \PSdict{% /pscorrect{.85 mulbind def /xy{countdictstack /xylevel exch def xyopen xycolor stopped xyclose cleartomarkdef /xywidth{\number\count@\space dimendiv pscorrect setlinewidthbind def /xydash{[] 0 setdashbind def /xycap{1 setlinecapbind def /xyjoin{1 setlinejoinbind def /xycolor{0 setgraybind def \PSdict{% /xyfont{4096 add 64 div round 64 mul 4096 subdef /xysdfont{4096 add 32 div round 32 mul 4096 subdef /xydots{xywidth 1 setlinecap [0 2] 0 setdashbind def \PSdict{% /setupDirection{dup -2048 lt{3072 add neg 1024 exch {dup 0 lt{1024 add neg -1024{dup 2048 lt{1024 sub -1024 exch {3072 sub 1024ifelseifelseifelse atan dup 180 gt{360 subif dup /XYdirection exch def rotatedef \PSdict{% /xyCheckDir{dup 8 div 3 mul 3 -1 roll sub neg exch div 360 mul dup dup XYdirection sub 180 div round 180 mul XYdirection add dup 3 -1 roll sub abs 10 gt not{exchif popdef \ifdim\xydashw0=pt\xydashw.=4pt\fi% \count@=\xydashw@\relax% \PSdict{% /xyrulth{\number\count@\space dimendiv pscorrect setlinewidth 0 setlinecapbind def \PSdict{% /gsavexy{gsave xypspt XYdirection rotate xywidth newpath 0 0 movetodef /gchksavexy{gsave xypspt setupDirection xywidth newpath 0 0 movetodef \PSdict{% /gstartxy{gsave xypspt xywidth xycap xyjoin newpath 0 0 movetodef /grulexy{gsave xyrulth newpath 0 0 movetodef /xystroke{stroke grestorebind def \PSdict{% /arc4pop{arcto 4{poprepeatbind def /xyswap{XYdirection 180 add /XYdirection exch defdef \PSdict{% /xyline{gstartxy setupDirection rlineto xystrokedef /dash{exch gchksavexy xysegl XYdirection dup -90 lt{pop neg{90 gt{negififelse exch{negif 0 rlineto xystrokedef /stopper{gstartxy setupDirection 0 xysegl 2 div rmoveto 0 xysegl neg rlineto xystroke def % \PSdict{% /solid{gstartxy xydash xycap neg exch neg exch rlineto xystrokedef /dashed{gstartxy 2 copy dup mul exch dup mul add sqrt dup xysegl add xysegl 2 mul div round 2 mul 1 sub div [ exch dup ] 0 setdash xycap neg exch neg exch rlineto xystrokedef \PSdict{% /dot{gstartxy 2 setlinecap [0 2] 0 setdash 1 0 rlineto xystrokedef /dotted{gstartxy 2 copy dup mul exch dup mul add sqrt dup 2 div round 1 add div 2 setlinecap [0 3 -1 roll] 0 setdash neg exch neg exch rlineto 0 0 rlineto xystrokedef \PSdict{% /cubic{gstartxy xycap docubic def /docubic{chkvalid {chkcubedge 8 -2 roll moveto curveto xystroke pop {cleartomark grestoreifelsedef /chkcubedge{2 copy 1.0 eq{0.0 eq{pop pop{cubicedgeifelse {pop cubicedgeifelsedef \PSdict{% /dotcubic{gstartxy 1 setlinecap [0 2] 0 setdash docubicdef /dashcubic{gstartxy xycap [5 5] 0 setdash docubicdef \PSdict{% /squine{gstartxy xycap dosquinedef /dosquine{chkvalid {chksquedge 2 copy moveto xysq2cub curveto xystroke pop {cleartomark grestoreifelsedef \PSdict{% /chkvalid{2 copy lt{dup 1 gt{false{trueifelse{falseifelsedef \PSdict{% /chksquedge{2 copy 1.0 eq{0.0 eq{pop pop{squineedgeifelse {pop squineedgeifelsedef /xysq2cub{xysq2cubit 6 1 roll xysq2cubit 6 1 roll 3 index 3 index xysq2cubit 6 1 roll xysq2cubit 6 1 roll pop popdef /xysq2cubit{2 index 2 mul add 3 divdef \PSdict{% /dotsquine{gstartxy 1 setlinecap [0 2] 0 setdash dosquinedef /dashsquine{gstartxy xycap [5 5] 0 setdash dosquinedef \PSdict{% /xy4mul{8 copy 5 -1 roll mul 5 1 roll 6 -1 roll mul 6 1 roll 3 -1 roll mul exch 4 -1 roll mul 3 1 roll add 3 1 roll add exch 10 2 roll 7 -1 roll mul 7 1 roll 4 -1 roll mul 5 1 roll 4 -1 roll mul 4 1 roll mul add 3 1 roll add exch 3 -1 roll def % \PSdict{% /xy44mul{ 4 copy 16 4 roll exch 3 1 roll 4 copy 12 4 roll xy4mul 12 4 roll xy4mul 12 -4 roll 4 copy 16 4 roll 8 4 roll xy4mul 12 4 roll xy4muldef \PSdict{% /cubicedge{10 2 roll exch 8 1 roll 3 -1 roll dup dup 9 2 roll 5 -1 roll dup dup 9 1 roll 8 3 roll 4 1 roll dup dup 5 3 roll dup dup 5 1 roll 3 -1 roll 18 -2 roll 2 copy 1 sub neg 4 1 roll 1 sub neg exch 4 1 roll xy444mul pop pop pop 13 1 roll pop pop pop 9 1 roll 10 1 roll pop 8 1 roll 7 1 roll 8 1 roll pop 5 1 roll 3 1 roll def \PSdict{% /xy444mul{ 4 copy 24 4 roll 12 -4 roll 16 4 roll 4 copy 16 4 roll xy44mul 20 8 roll xy44mul 12 -4 roll 4 -1 roll 7 1 roll exch 4 1 roll exch 6 -1 roll exch 4 2 roll 16 8 roll 8 4 roll 4 -1 roll 7 1 roll exch 4 1 roll exch 6 -1 roll exch 4 2 roll 8 4 roll 16 4 roll 8 4 roll 20 -4 roll exch 3 1 roll 4 copy 20 4 roll 4 copy 16 4 roll 4 copy 12 4 roll xy4mul 28 4 roll xy4mul 20 4 roll xy4mul 12 4 roll xy4muldef \PSdict{% /squineedge{8 2 roll exch 5 1 roll 3 -1 roll dup 6 2 roll 1 index exch 10 -2 roll 2 copy 1 sub neg 4 1 roll 1 sub neg exch 4 1 roll xy44mul 4 1 roll pop 5 1 roll 6 1 roll 3 -1 roll popdef \PSdict{% /xyshort{2 copy abs exch abs add xysegl .5 mul lt {pop pop grestore{rlineto xystrokeifelsedef \PSdict{% /tipwidth{xywidth xycapdef \PSdict{% /halftip{tipwidth xysize 10 div 0 0 moveto -.25 0 3 -1 roll -2.5 mul 0 xysize 2 div neg dup .62 mul 2 div neg curvetobind def \PSdict{/atip{gchksavexy halftip xystrokedef% \PSdict{/btip{gchksavexy xyopp halftip xystrokedef% \PSdict{/tip{gchksavexy gsave halftip stroke grestore xyopp halftip xystrokedef% \PSdict{% /halfcmtip{tipwidth 0 0 moveto -.1333 xysize mul 0 .2 xysize mul neg dup .125 xysize mul 3 -1 roll .25 xysize mul curvetobind def \PSdict{/cmatip{gchksavexy halfcmtip xystrokedef% \PSdict{/cmbtip{gchksavexy xyopp halfcmtip xystrokedef% \PSdict{/cmtip{gchksavexy gsave halfcmtip stroke grestore xyopp halfcmtip xystrokedef% \PSdict{/halfTip{360 32 div neg rotate halftipbind def% \PSdict{/halfTtip{.31 mul 1 atan rotate halftipbind def% \PSdict{/aTip{gchksavexy halfTip xystrokedef% \PSdict{/bTip{gchksavexy xyopp halfTip xystrokedef% \PSdict{/Tip{gchksavexy gsave halfTip stroke grestore xyopp halfTip xystrokedef% \PSdict{/Ttip{gchksavexy xysegl neg 0 rlineto 0 0 moveto gsave -1 halfTtip stroke grestore xyopp -1 halfTtip xystrokedef% \PSdict{/halfturn{xysegl 2 div dup dup neg exch rmoveto 0 exch dup exch -180 -90 arcbind def% \PSdict{/aturn{gchksavexy halfturn xystrokedef% \PSdict{/bturn{gchksavexy xyopp halfturn xystrokedef% \dimen\=xybsqll@\relax\count\=dimen@% \PSdict{% /xysqll \the\count@\space dimendiv def /squigl{gchksavexy xysqll dup neg 0 rmoveto 2 div dup dup neg dup 3 -1 roll 2 sqrt mul dup 5 1 roll 135 45 arcn dup 3 -1 roll -135 -45 arc xystrokedef \PSdict{/fullhook{0 xysegl 2 div dup -90 90 arcnbind def% \PSdict{/ahook{gchksavexy fullhook xystrokedef% \PSdict{/bhook{gchksavexy xyopp fullhook xystrokedef% \PSdict{/halfhook{xysegl 2 div dup 0 exch 180 90 arcnbind def% \PSdict{/hook{gchksavexy gsave halfhook stroke grestore xyopp halfhook xystrokedef% %\PSdict{/halfstop{90 rotate xysegl 1.4 mul 0 rlinetobind def %\PSdict{/astop{gsavexy halfstop xystrokedef %\PSdict{/bstop{gsavexy xyopp halfstop xystrokedef %\PSdict{/abstop{gsavexy 90 rotate xysegl 1.4 mul % dup 2 div 0 rmoveto neg 0 rlineto xystrokedef \PSdict{% /xyqcirc{dup dup neg exch translate newpath dup neg 0 exch moveto 0 0 3 -1 roll -90 0 arcbind def \PSdict{% /circ{gstartxy 3 copy pop 2 copy cos mul 3 1 roll sin mul rmoveto 0 0 5 2 roll arc xystrokebind def \PSdict{% /circhar{gsave dup 3 gt{7 sub negif dup 3 eq{pop dup 2 sqrt -2 div mul{dup 1 eq{pop dup 2 sqrt 2 div mul {0 eq{dup{0ifelseifelseifelse 0 translate 3 1 roll circ grestorebind def \PSdict{userdict begin /gray{setgraybind def /gray{setgraybind def /rgb{setrgbcolorbind def /rgb{setrgbcolorbind def /hsb{sethsbcolorbind def /hsb{sethsbcolorbind def /setcmykcolor where{pop{/setcmykcolor{dup 3 1 roll dup 5 1 roll exch sub 1 add 5 1 roll exch sub 1 add 4 1 roll exch sub 1 add 3 1 roll setrgbcolorbind defifelse /cmyk{setcmykcolorbind def /cmyk{setcmykcolorbind def /sethalftone where{/sethalftone load /tone exch defif \endXYdict}% % end of \obeylines \DOCMODE) \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \paragraph*{The end \& Log\leavevmode \DOCMODE( \xyendinput % $Log: xyps.doc,v $ % Revision 2.12 1994/10/25 03:01:14 ross % Final 3beta release [bug fixes & AMS-LaTeX fitting]. % Revision 2.11 1994/07/05 06:34:32 ross % fixed bug with quadratic curves % fixed minor documentation bugs % Revision 2.10 1994/06/15 12:46:03 ross % Second release 3beta. % Colour and line style saving works; label colouring bug fixed. % Revision 2.9 1994/06/09 14:50:54 ross % Release 3beta. % Includes support for special effects: Rotations, Scaling, Line-width, Colour. % Back-ends are separated into separate files. % More back-ends are supported, experimentally — needs testing. % Revision 2.8 1994/04/08 10:36:40 ross % Second 3alpha release. % Revision 2.7 1994/03/28 10:57:02 ross % First version. % Initial version by Ross Moore based on XYps 2.6. \DOCMODE) \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Tell Emacs that this is a LaTeX document and how it is formatted: % Local Variables: % mode:latex % fill-column:77 % fill-prefix:"" % End:


This document was generated on March 1, 2022 using texi2html 5.0.